// 七 1、引入axios文件
import axios from 'axios'

// 七 2、封装登陆函数
axios.defaults.baseURL = 'http://localhost:8888/api/private/v1/'

// 七 5、设置‘请求’拦截 作用将所有的请求拦截下来 执行你的逻辑
axios.interceptors.request.use(function (config) {
  // 七 5.2 请求的请求头设置加上token 给头设置Authorization(接口文档定义的名字不可随意更改)属性携带回去 证明我们是登陆了的
  let token = localStorage.getItem('token')
  if (token) {
    config.headers.Authorization = token
  }
  // 七 5.1 config表示请求对象 这个对象必须return回去
  // console.log(config)
  return config
}, function (error) {
  return Promise.reject(error)
})
// 七 3、通过具名暴露出去 如果只有一个参数可以省略() 如果函数执行体只有一个return这一句话 我可以省略{} 不省略{}要写return
export const login = obj => axios.post('login', obj)

// 七 4、用户管理的请求
export const getUsersData = obj => axios.get('users', { params: obj })

// 八 6、添加用户
export const addUser = obj => axios.post('users', obj)

// 八 7、删除用户
export const delUser = id => axios.delete(`users/${id}`)

// 八 8、编辑用户
export const editUser = obj => axios.put(`users/${obj.id}`, obj)

// 八 9、修改用户状态
export const userState = (uId, type) => axios.put(`users/${uId}/state/${type}`)

// 九 10、请求角色列表
export const grantCheckRole = () => axios.get(`roles`)

// 九 11、确定提交选择的角色
export const checkRoleOk = (id, rid) => axios.put(`users/${id}/role`, { rid: rid })

// 九 12、删除角色权限
export const delRoleAuth = (rId, autnId) => axios.delete(`roles/${rId}/rights/${autnId}`)

// 九 13、获取所有权限列表
export const getAllAuth = (type) => axios.get(`rights/${type}`)
